package ${servicePath};

import ${entityPath}.${EntityName};
import ${dtoPath}.*;
import ${voPath}.${EntityName}Vo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* @Description:${table_annotation}Service
* @author ${author}
* @date ${date}
*/
public interface I${EntityName}Service  extends IService<${EntityName}> {
<#if add>
    /**
    * 新增${table_annotation}
    * @param dto
    * @return {@link Long }
    */
    Long insert(${EntityName}AddDto dto);
</#if>
<#if update>
    /**
    * 修改${table_annotation}
    * @param dto
    */
    void update(${EntityName}UpdateDto dto);
</#if>
<#if delete>
    /**
    * 批量删除${table_annotation}
    * @param ids
    */
    void deleteBatch(List<Long> ids);
</#if>
<#if page>
    /**
    * ${table_annotation}查询
    * @param dto
    * @return  {@link ${EntityName} }
    */
    List<${EntityName}> list(${EntityName}PageDto dto);
</#if>
<#if getVoById>
    /**
    * 根据id查询${table_annotation}
    * @param id
    * @return  {@link ${EntityName}Vo }
    */
    ${EntityName}Vo getVoById(Long id);
</#if>
<#if getAll>
    /**
    *
    * 查询所有${table_annotation}
    * @return  {@link List<${EntityName}Vo> }
    */
    List<${EntityName}Vo> getAll();
</#if>
    /**
    *
    * 处理entity转换vo字段 List
    * @return  {@link ${EntityName}Vo }
    */
    List<${EntityName}Vo> convertToVo(List<${EntityName}> list);
    /**
    *
    * 处理entity转换vo字段
    * @return  {@link ${EntityName} }
    */
    ${EntityName}Vo convertToVo(${EntityName} ${lowName});
}
